package com.wangxiang.sys.manage.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;


import java.io.Serializable;
import java.util.List;

/**
 * 根据vue路由情况生成的菜单路由数据实体,但必遵循mybatis-plus
 */
@Data
@TableName
public class MenuListEntity implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * menuId 主键
     */
    @TableId
    private int menuId;

    /**
     * parentId
     * 父级id
     */
    private int parentId;

    /**
     * 层级 level
     */
    private int level;

    /**
     * type
     * 类型，0为菜单 ，1为按钮
     */
    private int type;

    /**
     * perms 具体按钮操作，菜单为空
     */
    private String perms;

    /**
     *path
     * 用于路由导航
     */
    private String path;

    /**
     * name
     */
    private String name;

    /**
     * title
     * 标题，用于侧边栏导航展示，关系映射
     */
    private String title;

    /**
     * icon
     * 图标
     */
    private String icon;

    /**
     * url
     * 用于懒加载，跳转
     * 注意：父级菜单可以为空
     * 最子级不能为空（children为空）
     */
    private String url;

    /**
     * children子级菜单，
     * 数据类型集合，泛型为menuListEntity
     */
    @TableField(exist = false) //表明数据表内不存在该字段
    private List<MenuListEntity> children;



}
